﻿using System.Collections.Generic;
using System.Runtime.Serialization;
using JTLeigh.Commerce.Spencer.Core.Service.Contracts;

namespace JTLeigh.Commerce.Spencer.Features.ProductImages.Service.Contracts.Runtime.GetProductImageSummaries
{

	/// <summary>
	/// Response data contract for the <see cref="IProductImagesRuntimeService.GetProductImageSummaries"/>
	/// operation.
	/// </summary>
    [DataContract(Name = "GetProductImageSummariesRes", Namespace = "http://schemas.jtleigh.com/Commerce/Spencer/Features/ProductImages/1.0/Runtime/GetProductImageSummaries/")]
    public class GetProductImageSummariesResponse
	{

		/// <summary>
		/// Gets or sets the size information relevant to all of the image summaries of the
		/// specified products.
		/// </summary>
		/// <value>A <see cref="ProductImageSize"/>.</value>
		[DataMember(Name = "Size", IsRequired = true)]
		public ProductImageSize Size { get; set; }

		/// <summary>
		/// Gets or sets a dictionary of the image summaries of the specified products.
		/// </summary>
		/// <value>An <see cref="IDictionary{TKey,TValue}"/> of <see cref="ProductImageSummary"/> 
		/// keyed by fully-qualified product identifier.</value>
        [DataMember(Name = "Summaries", IsRequired = true)]
		public IDictionary<FullyQualifiedProductId, ProductImageSummary> Summaries { get; set; }

	}

}
